package com.ruoyi.business.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 商品库存明细对象 jt_product_inventory_details
 * 
 * @author Alan Zhang
 * @date 2025-06-13
 */
public class JtProductInventoryDetails extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 商品库存id */
    private Long detailsId;

    /** 仓库ID */
    @Excel(name = "仓库ID")
    private Long warehouseId;

    @Excel(name = "仓库")
    private String warehouseName;

    /** 商品编码 */
    @Excel(name = "商品编码")
    private String productCode;

    //虚拟字段
    /** 商品名称 */
    @Excel(name = "商品名称")
    private String productName;
    /** 款式编码 */
    @Excel(name = "款式编码")
    private String styleNo;
    /** 规格 */
    @Excel(name = "规格")
    private String spec;

    /** 单号 */
    @Excel(name = "单号")
    private String orderNo;

    /** 仓位 */
    @Excel(name = "仓位")
    private String warehousePosition;

    /** 变化数量 */
    @Excel(name = "变化数量")
    private Long changeQuantity;

    /** 数量 */
    @Excel(name = "数量")
    private Long quantity;

    /** 类型 0入库 1出库 */
    @Excel(name = "类型 0入库 1出库")
    private Integer type;

    public void setDetailsId(Long detailsId) 
    {
        this.detailsId = detailsId;
    }

    public Long getDetailsId() 
    {
        return detailsId;
    }

    public void setWarehouseId(Long warehouseId) 
    {
        this.warehouseId = warehouseId;
    }

    public Long getWarehouseId() 
    {
        return warehouseId;
    }

    public String getWarehouseName() {
        return warehouseName;
    }

    public void setWarehouseName(String warehouseName) {
        this.warehouseName = warehouseName;
    }

    public void setProductCode(String productCode)
    {
        this.productCode = productCode;
    }

    public String getProductCode() 
    {
        return productCode;
    }

    public void setOrderNo(String orderNo) 
    {
        this.orderNo = orderNo;
    }

    public String getOrderNo() 
    {
        return orderNo;
    }

    public void setWarehousePosition(String warehousePosition) 
    {
        this.warehousePosition = warehousePosition;
    }

    public String getWarehousePosition() 
    {
        return warehousePosition;
    }

    public void setChangeQuantity(Long changeQuantity) 
    {
        this.changeQuantity = changeQuantity;
    }

    public Long getChangeQuantity() 
    {
        return changeQuantity;
    }

    public void setQuantity(Long quantity) 
    {
        this.quantity = quantity;
    }

    public Long getQuantity() 
    {
        return quantity;
    }

    public void setType(Integer type) 
    {
        this.type = type;
    }

    public Integer getType() 
    {
        return type;
    }

    public String getProductName() {
        return productName;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public String getStyleNo() {
        return styleNo;
    }

    public void setStyleNo(String styleNo) {
        this.styleNo = styleNo;
    }

    public String getSpec() {
        return spec;
    }

    public void setSpec(String spec) {
        this.spec = spec;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("detailsId", getDetailsId())
            .append("warehouseId", getWarehouseId())
            .append("productCode", getProductCode())
            .append("orderNo", getOrderNo())
            .append("warehousePosition", getWarehousePosition())
            .append("changeQuantity", getChangeQuantity())
            .append("quantity", getQuantity())
            .append("type", getType())
            .append("remark", getRemark())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
